
package ec.edu.ups.cidi.siia.plamdep.analizadorLexico.wordnet;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import ec.edu.ups.cidi.siia.plamdep.analizadorLexico.analisis.Recursos;
import ec.edu.ups.cidi.siia.plamdep.utils.Log;

/**
 *
 * @author Usuario
 */
public class WordNet 
{
 
	
    /**
     * Metodo que realiza realiza la consulta a la base para listar los sinonimos
     * @throws SQLException 
     */
    public ArrayList<String> getSinonimos(String palabra,String lema) 
    {
      ArrayList<String> sinonimos=new ArrayList();
      ResultSet rs=null;
      try
        {
            rs=Recursos.conexion.consulta(Recursos.conexion.getSqlSinonimos(palabra, lema));
            while(rs.next()) sinonimos.add(rs.getString(1));
        }
        catch(Exception ex)
        {
        
         
         Log.log(ex,Log.MOD_ANLS_LEXICO,Log.LEVEL_ERROR, WordNet.class,"Error al consultar sinonimos"); 
         ex.printStackTrace();
        }  
      	finally
      	{
      		try {
				rs.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				
				
				Log.log(e,Log.MOD_ANLS_LEXICO,Log.LEVEL_ERROR, WordNet.class,"Error..."); 
			}

      	}
      return sinonimos;
    }
    
    
    
   
    
    
    
    /**
     * Metodo que realiza realiza la consulta a la base para listar los antonimos
     */
    public ArrayList<String> getAntonimos(String palabra)
    {
     	ResultSet rs=null;
       ArrayList<String> antonimos=new ArrayList();
       try
        {
            rs=Recursos.conexion.consulta(Recursos.conexion.getSqlAntonimos(palabra));
            while(rs.next()) antonimos.add(rs.getString(1));
        }
        catch(Exception ex)
        {
         
         Log.log(ex,Log.MOD_ANLS_LEXICO,Log.LEVEL_ERROR, WordNet.class,"Error de cargando antonimos:"); 
        }
     	finally
     	{
     		try {
				rs.close();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
     	}

       return antonimos;
    }
    /**
     * Metodo que realiza realiza la consulta a la base para para cargar el significado de la palabra
     */
    public  ArrayList<String> getSignificados(String palabra)
    {
         ArrayList<String> significados=new ArrayList();
      try
        {
            ResultSet rs=Recursos.conexion.consulta(Recursos.conexion.getSqlSignificados(palabra));
            while(rs.next()) significados.add(rs.getString(1));
        }
        catch(Exception ex)
        {
         
         Log.log(ex,Log.MOD_ANLS_LEXICO,Log.LEVEL_ERROR, WordNet.class,"EError de cargando Significados: "); 
        }  
      return significados;
    }
    /**
     * Metodo que realiza realiza la consulta a la base para para cargar las traducciones a ingles de una palabra
     */
    public ArrayList<String> getEngTraduccion(String palabra)
    {
       ArrayList<String> traducciones=new ArrayList();
      try
        {
            ResultSet rs=Recursos.conexion.consulta(Recursos.conexion.getSqlTraducciones(palabra));
            while(rs.next())  traducciones.add(rs.getString(1));
        }
        catch(Exception ex)
        {
         System.out.println("Error de cargando sinonimos: " + ex.getMessage());
         Log.log(ex,Log.MOD_ANLS_LEXICO,Log.LEVEL_ERROR, WordNet.class,"Error de cargando traducciones:"); 
        }  
      return traducciones;
    }
    
    
}
